package ie.dkit.semanticPhotoWeb.server.persistence.storageObjects;

import java.util.Collection;

/**
 * @author Sebastian Ruehl
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place, Suite 330, Boston, MA 02111-1307 USA
 */
public interface FOAFDAO {
	/**
	 * Get a persons
	 * @return
	 */
	Collection<Person> getPersons();

	/**
	 * get a Person by id
	 * @param id
	 * @return
	 */
	Person findPersonById(int id);
	
	/**
	 * get a person by username
	 * @param username
	 * @return
	 */
	Person findPersonByUsername(String username);

	/**
	 * save a person
	 * @param person
	 */
	void save(Person person);

	/**
	 * delete a Person
	 * @param person
	 */
	void delete(Person person);

	/**
	 * get all Interests
	 * @return
	 */
	Collection<Interest> getInterests();

	/**
	 * get interest by id
	 * @param id
	 * @return
	 */
	Interest findInterestById(int id);

	/**
	 * sace a interest
	 * @param interest
	 */
	void save(Interest interest);

	/**
	 * delete a interest
	 * @param interest
	 */
	void delete(Interest interest);
}
